#位置传参  关键词传参

def print_info(name, sex, age):
    print(f"您的姓名是:{name}, 你的性别是:{sex},您的年龄是{age}")


# 下面是位置传参
print_info("张三", '男', 20)

#关键词传参  ,注意位置传参和关键词传参可以混用,但是位置参数要靠前

print_info("李四", age=20, sex="男")


#不定长参数
def print_info_2(*args, nationality='中国', age=20):
    for i in args:
        print(i)
    print(f"您的国籍是:{nationality}  您的年龄是:{age}")


print_info_2(1, 2, 3, 4, 5)  #不定长传参,可变传参
print_info_2(1, 2, 3, nationality='新加坡')

#容器的组包和拆包 (普通变量中用和在函数中用)


#组包
list1 = 100, 200, 300  #特点:多个数据组成1个数据


def sum1():
    return 100, 200


#拆包

a, b, c = list1

list2=[(1,1,1,1),(2,2,2,2),(3,3,3,3)]
for i,j,m,p in list2:
    print(i,j,m,p)


#可变数据类型和不可变数据类型  重点, 输出判断的变量应该是一致的

a='123'
print(id(a))
a=a+'1'
print(id(a))

list=[1,2,3]
print(id(list))
list.append(4)
print(id(list))

#匿名函数

student_list=[{"name":"张三","age":10},{"name":"张三","age":20},{"name":"张三","age":30}]

student_list.sort(key=lambda x:x["aget"])
print(student_list)

